<html>
<head><meta charset="utf-8"><title>Concern about chalk distribution strategy · z-archived-t-compiler/wg-rls-2.0/chalk · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/index.html">z-archived-t-compiler/wg-rls-2.0/chalk</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html">Concern about chalk distribution strategy</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="201824445"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201824445" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201824445">(Jun 24 2020 at 08:52)</a>:</h4>
<p>In rust-analyzer, we (or, rather, <span class="user-mention" data-user-id="203546">@Laurențiu Nicola</span> and <span class="user-mention" data-user-id="129457">@Florian Diebold</span> <span aria-label="heart" class="emoji emoji-2764" role="img" title="heart">:heart:</span> ) are upgrading chalk. At the moment, we use chalk from <a href="http://crates.io">crates.io</a> (published weekly). </p>
<p>This means that upgrade process now includes "waiting for the next version of chalk with specific bugfixes to be released": <a href="https://github.com/rust-analyzer/rust-analyzer/pull/4982#issuecomment-648666221">https://github.com/rust-analyzer/rust-analyzer/pull/4982#issuecomment-648666221</a>. </p>
<p>I think, in isolation, this is not problematic. However, when we extract more libraries, I fear that such "blocking on publish" would create a lot of coordination overhead. If this is true, I'd love to exert some proactive pressure to fix the process, while the process is small :-)</p>
<p>Do folks also feel that going via <a href="http://crates.io">crates.io</a> for big and domain-specific compiler libraries creates organizational overhead, that risks become big? </p>
<p>I sort of feel that it does, and that "automated publishing" in itself feels like an issue (in contrast to manual publishing, where you check semver, etc), as it's strictly worse than a git dependency. </p>
<p>I see two options here, and I'd love to proactively chose one:</p>
<ul>
<li>Both rust-analyzer and rustc use auto-published chalk from <a href="http://crates.io">crates.io</a>. This means accepting some overhead.</li>
<li>Both rust-analyzer and rustc use "master" chalk (git dependency). I don't know what this means exactly, I recall there were some problems with git deps and vendoring? cc <span class="user-mention" data-user-id="116122">@simulacrum</span> , as that directly affects "rustuping rust-analyzer" work.</li>
</ul>



<a name="201851448"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201851448" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201851448">(Jun 24 2020 at 14:09)</a>:</h4>
<p>cc <span class="user-mention" data-user-id="232957">@Jack Huey</span></p>



<a name="201851472"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201851472" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201851472">(Jun 24 2020 at 14:09)</a>:</h4>
<p>Oh, <span class="user-mention" data-user-id="232957">@Jack Huey</span> was not subscribed to this topic.</p>



<a name="201851584"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201851584" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201851584">(Jun 24 2020 at 14:10)</a>:</h4>
<p>I'm not sure what the "overhead" is for going from <a href="http://crates.io">crates.io</a> -- is it just waiting?</p>



<a name="201851629"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201851629" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201851629">(Jun 24 2020 at 14:10)</a>:</h4>
<p>git dependencies cannot, I think, be published to <a href="http://crates.io">crates.io</a></p>



<a name="201851670"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201851670" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201851670">(Jun 24 2020 at 14:10)</a>:</h4>
<p>publishing to <a href="http://crates.io">crates.io</a> feels overall like the direction we should be moving to me, if we want to create libraries that people can build on and use</p>



<a name="201851714"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201851714" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201851714">(Jun 24 2020 at 14:11)</a>:</h4>
<p>I guess I don't quite get why automated publishing "in itself feels like an issue"</p>



<a name="201851774"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201851774" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201851774">(Jun 24 2020 at 14:11)</a>:</h4>
<p>being able to publish to <a href="http://crates.io">crates.io</a> was the reason why we switched to published chalk, yeah</p>



<a name="201851890"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201851890" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201851890">(Jun 24 2020 at 14:12)</a>:</h4>
<p>I don't know what rustc policy is on "dependencies on random git branches" either but it feels like a risk</p>



<a name="201851924"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201851924" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201851924">(Jun 24 2020 at 14:12)</a>:</h4>
<p>i.e., a <a href="http://crates.io">crates.io</a> version is committed to staying forever, it's of course typically true of git histories too...</p>



<a name="201851962"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201851962" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201851962">(Jun 24 2020 at 14:12)</a>:</h4>
<p>...but it's certainly easier for it not to be true</p>



<a name="201852858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201852858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201852858">(Jun 24 2020 at 14:18)</a>:</h4>
<blockquote>
<p>I guess I don't quite get why automated publishing "in itself feels like an issue"</p>
</blockquote>
<p>So automated publishing basically picks "random" commit, and in this sense is equivalent to just using a git dependency, except that:</p>
<ul>
<li>you can choose only subset of commits to depend on</li>
<li>there's a much larger waiting time until the commit becomes "available"</li>
</ul>



<a name="201853053"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201853053" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201853053">(Jun 24 2020 at 14:20)</a>:</h4>
<p>I agree that the end goal is probably "semver-adhearing libraries on <a href="http://crates.io">crates.io</a>", but that needs a manual publishing process. I don't think automated publishing is really on the path between git repo and a "proper" <a href="http://crates.io">crates.io</a> crate.</p>



<a name="201853135"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201853135" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201853135">(Jun 24 2020 at 14:20)</a>:</h4>
<p>well, my understanding was that it'd be possible to trigger a publish in cases where we would like a new version, but apparently it's not so easy</p>



<a name="201853325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201853325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201853325">(Jun 24 2020 at 14:22)</a>:</h4>
<p>I guess it could be made easy-enough, but that still seems like an extra work for no "real" benefit.  There might be accidental benefit (tooling working better with <a href="http://crates.io">crates.io</a> than with git, for example), but I wonder if we should fix the tools</p>



<a name="201853377"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201853377" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Laurențiu <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201853377">(Jun 24 2020 at 14:22)</a>:</h4>
<p>(nvm)</p>



<a name="201853394"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201853394" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201853394">(Jun 24 2020 at 14:22)</a>:</h4>
<p>Also, why do we have wg-rls-2.0/chalk and wg-traits? I</p>



<a name="201853429"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201853429" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201853429">(Jun 24 2020 at 14:23)</a>:</h4>
<p>I guess, it was me who started in the wrong stream?</p>



<a name="201854064"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201854064" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201854064">(Jun 24 2020 at 14:27)</a>:</h4>
<p>I think the idea, at least for now, is to make sure that we're making, essentially, master get published</p>



<a name="201854085"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201854085" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201854085">(Jun 24 2020 at 14:27)</a>:</h4>
<p>As minor version bumps</p>



<a name="201854089"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201854089" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201854089">(Jun 24 2020 at 14:27)</a>:</h4>
<p>yeah, my bad. Can someone move this to wg-traits? (and maybe archive this stream?)</p>



<a name="201854216"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201854216" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201854216">(Jun 24 2020 at 14:28)</a>:</h4>
<p>I'll move over to <a href="#narrow/stream/144729-wg-traits/topic/publishing">https://rust-lang.zulipchat.com/#narrow/stream/144729-wg-traits/topic/publishing</a></p>



<a name="201860746"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201860746" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201860746">(Jun 24 2020 at 15:14)</a>:</h4>
<p><span class="user-mention silent" data-user-id="133169">matklad</span> <a href="#narrow/stream/191167-t-compiler.2Fwg-rls-2.2E0.2Fchalk/topic/Concern.20about.20chalk.20distribution.20strategy/near/201853053">said</a>:</p>
<blockquote>
<p>I agree that the end goal is probably "semver-adhearing libraries on <a href="http://crates.io">crates.io</a>", but that needs a manual publishing process. I don't think automated publishing is really on the path between git repo and a "proper" <a href="http://crates.io">crates.io</a> crate.</p>
</blockquote>
<p>why does this need a manual publishing process?</p>



<a name="201860800"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern%20about%20chalk%20distribution%20strategy/near/201860800" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/Concern.20about.20chalk.20distribution.20strategy.html#201860800">(Jun 24 2020 at 15:14)</a>:</h4>
<p>but yeah let's archive this stream in general ;)</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>